.icon-features {
  padding-top: 50px;
  padding-bottom: 50px;
}

.icon-features--no-top-padding {
  padding-top: 0;
}

.icon-features .header-underline {
  margin-top: 10px;
  margin-bottom: 40px;
}

.icon-features .header-underline + .icon-features__intro,
.icon-features .header-underline + .icon-features__list {
  margin-top: 0;
}

.icon-features__intro {
  margin-top: 20px;
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
}

.icon-features__intro p {
  color: #4e4e4e;
}

.icon-features__intro p:last-child {
  margin-bottom: 0;
}

.icon-features .icon-features__list {
  --icon-features-icon-size: 76px;

  row-gap: 40px;
}

.icon-features .icon-features__intro + .icon-features__list {
  margin-top: 80px;
}

.icon-features .icon-features__content {
  max-width: 390px;
}

.icon-features .icon-features__title {
  margin-bottom: 8px;
}

.icon-features__list {
  --icon-features-icon-size: 100px;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 120px;
  row-gap: 48px;
  margin-top: 50px;
}

.icon-features__list--cols-1 {
  grid-template-columns: 1fr;
}

.icon-features__list--cols-3 {
  grid-template-columns: repeat(3, 1fr);
  column-gap: 48px;
}

.icon-features__item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.icon-features__icon {
  flex: 0 0 auto;
}

.icon-features__icon img {
  display: block;
  width: var(--icon-features-icon-size);
  height: var(--icon-features-icon-size);
  object-fit: contain;
}

.icon-features__title {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 500;
  line-height: 30px;
  color: #4e4e4e;
}

.icon-features__text {
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
}

.icon-features__text p {
  color: #4e4e4e;
}

.icon-features__text p:last-child {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .icon-features__list[class*="icon-features__list--cols-"] {
    grid-template-columns: 1fr;
  }

  .icon-features .icon-features__content {
    max-width: 500px;
  }

  .icon-features .icon-features__list {
    row-gap: 60px;
  }
}

@media (max-width: 767px) {
  .icon-features {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .icon-features--no-top-padding {
    padding-top: 0;
  }

  .icon-features .icon-features__list,
  .icon-features .icon-features__intro + .icon-features__list {
    margin-top: 32px;
  }

  .icon-features__item {
    gap: 16px;
  }

  .icon-features__title {
    font-size: 18px;
  }
}
